package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import utilidades.Constants;
import utilidades.ConstantsBusiness;
import vo.EquipoVO;
import exception.DaoException;

public class EquipoDAO extends DAOObjectImpl{
			
	public EquipoDAO(Connection aConexion) {
		this.conexion=aConexion;
	}

	/**
	 * Obtiene los datos del equipo con el identificador pasado como parametro
	 * @param aCrieria Datos del equipo a buscar
	 * @return EquipoVO con los datos del equipo
	 * @throws DaoException Posible excepcion a controlar
	 */
	public Object load(Object aCrieria) throws DaoException {
		String tmpQuery = Constants.CADENA_VACIA;
		ResultSet tmpDatos = null;
		EquipoVO tmpResultado = null;
		PreparedStatement tmpSentencia = null;
		try{
			tmpQuery = ConstantsBusiness.EQUIPO_LOAD;
			tmpSentencia=conexion.prepareStatement(tmpQuery);
			tmpSentencia.setLong(1, ((EquipoVO)aCrieria).getIdEquipo());
			tmpDatos = tmpSentencia.executeQuery();
			if (tmpDatos.next()){
				tmpResultado = new EquipoVO(
						tmpDatos.getInt("idEquipo"),
						tmpDatos.getString("nombre"),
						tmpDatos.getString("nombrecorto"),
						tmpDatos.getString("estado"),
						tmpDatos.getString("imagen"));
			}
			return tmpResultado;
		} catch (SQLException aSqlException){
			throw new DaoException(aSqlException.getMessage());
		} finally {	
			try{
				if (tmpDatos!=null){
					tmpDatos.close();
				}
				if (tmpSentencia!=null){
					tmpSentencia.close();
				}
			}catch(SQLException aSqlException){
				throw new DaoException(aSqlException.getMessage());
			}			
		}
	}

	
}
